In computing, a human interface device is a piece of hardware that a human can use to provide information and commands, among other things, to a computing device. Examples of conventional human interface devices include keyboards, mice, touch-sensitive pads and screens, and joysticks. These devices may be implemented, for instance, in desktop and laptop computers. While conventional keyboards, mice and touch screens work well in environments where the user is able to fully interact with the device with one or both hands (such as while sitting at a desk), increasingly computing devices are used in less static environments, such as where the user is walking, driving an automobile, or otherwise using the device in a way that is not conducive to a conventional keyboard/mouse/touch screen. Furthermore, some computing devices, such as mobile devices (e.g., smart phones), wearable devices (e.g., so-called smart eye glasses and wrist watches), and remotely controlled devices (e.g., audio, video, lighting, or environmental control equipment), often have minimal human interfaces due to their small form factors or other design considerations. The lack of a highly functional interface restricts the ability of a user to interact with certain features of the device. Some existing solutions include interfaces that are activated by voice or gaze tracking (eye movements). However, these techniques are not always suitable or practical. Thus, there is a need for an alternative interface for controlling a computing device.